:root {
	--ck-border-radius: 4px;
	--ck-color-base-border: #dcdfe6;
}
aside,
form,
div,
ul,
textarea {
	&::-webkit-scrollbar-track {
		border-radius: 0;
		background-color: rgba(0, 0, 0, 0.1);
	}
	&::-webkit-scrollbar {
		-webkit-appearance: none;
		width: 6px;
		height: 6px;
	}
	&::-webkit-scrollbar-thumb {
		cursor: pointer;
		border-radius: 2px;
		transition: color 0.2s ease;
		background-color: rgba(0, 0, 0, 0.15);
	}
}

a {
	color: var(--primary);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a.el-link:hover {
	text-decoration: none;
}

.iconfont {
	font-size: inherit;
	& + span {
		margin-left: 5px;
	}
}

.el-empty {
	margin: 5% auto;
	text-align: center;
	.el-empty__image {
		margin: 0 auto 10px;
		img {
			width: 100%;
		}
	}
	.el-empty__description {
		color: #909399;
	}
}

.el-avatar img {
	width: 100%;
}

.dropdownToolbarButton > select {
	font-size: 14px !important;
}

.tox-tinymce-aux {
	z-index: 3000 !important;
}

.el-dialog__wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	&:has(.is-fullscreen) {
		padding: 0;
	}
}

.el-dialog {
	width: 100%;
	.el-dialog__header {
		padding: 16px;
		border-bottom: solid 1px #e4e7ed;
		flex-shrink: 0;
	}
	.el-dialog__headerbtn {
		right: 15px;
	}
	.el-dialog__footer {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 15px;
		border-top: solid 1px #e4e7ed;
		flex-shrink: 0;
	}
	.el-dialog__body {
		display: flex;
		padding: 15px;
		overflow: auto;
		box-sizing: border-box;
		max-height: calc(100vh - 177px);
	}
	&:has(.el-dialog__footer) {
		.el-dialog__body {
			max-height: calc(100vh - 244px);
		}
	}
	&.is-fullscreen {
		display: flex;
		flex-direction: column;
		border-radius: 0;
		.el-dialog__body {
			flex: 1;
			max-height: none;
		}
	}
}

.el-drawer {
	.el-drawer__header {
		margin: 0;
		padding: 16px;
		line-height: 23px;
		border-bottom: solid 1px #dcdfe6;
		span[role='heading'] {
			font-size: 16px;
			font-weight: bold;
			color: #606266;
		}
	}
	.el-drawer__close-btn {
		display: block;
		padding: 0;
	}
}

.el-tree {
	.el-tree-node__content {
		padding-bottom: 0;
		height: 32px;
		padding-right: 15px;
	}
	.el-select-dropdown__wrap {
		max-height: 300px;
		line-height: 1;
		scroll-margin-top: 0;
	}
	.el-tree-node__expand-icon {
		font-size: 18px;
	}
	.el-tree-node__label {
		line-height: 1;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}

.el-radio {
	display: inline-flex;
	align-items: center;
	.el-radio__input {
		font-size: 0;
	}
	.el-checkbox__label {
		line-height: 1;
	}
}

.el-checkbox {
	display: inline-flex;
	align-items: center;
	.el-checkbox__input {
		font-size: 0;
	}
	.el-checkbox__label {
		line-height: 1;
	}
}

.el-select {
	width: 100%;
	& > .el-input {
		line-height: 1;
	}
}

.el-select-dropdown__wrap {
	.el-select-dropdown__item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		&.selected {
			h4 {
				font-weight: bold;
			}
			p,
			em {
				color: inherit;
			}
		}
		h4 {
			flex: 1;
			line-height: 1;
			font-weight: normal;
		}
		p {
			line-height: 1;
			font-size: 12px;
			margin-left: 10px;
			color: #c0c4cc;
		}
		em {
			line-height: 1;
			font-size: 12px;
			color: #909399;
			font-style: normal;
		}
	}
}

.el-input-group {
	display: flex;
	.el-input-group__append,
	.el-input-group__prepend {
		flex-shrink: 0;
		width: auto;
		padding: 0;
		.el-button,
		.el-select {
			margin: -1px 0;
		}
	}
	& > .el-input__inner {
		flex: 1;
		overflow: hidden;
	}
}

.el-textarea {
	.el-input__count {
		line-height: 1.5;
	}
	.el-textarea__inner {
		&::-webkit-scrollbar-track {
			border-radius: 0;
			background-color: rgba(0, 0, 0, 0.1);
		}
		&::-webkit-scrollbar {
			-webkit-appearance: none;
			width: 6px;
			height: 6px;
		}
		&::-webkit-scrollbar-thumb {
			cursor: pointer;
			border-radius: 2px;
			transition: color 0.2s ease;
			background-color: rgba(0, 0, 0, 0.15);
		}
	}
}

.el-tabs--card.custom_top {
	flex-shrink: 0;
	.el-tabs__header {
		margin-bottom: 0;
	}
	.el-tabs__nav {
		display: flex;
		border: none;
	}
	.el-tabs__item {
		display: flex;
		align-items: center;
		padding: 0 16px !important;
		position: relative;
		border-left: none;
		overflow: hidden;
		font-size: 15px;
		&::after {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 1px;
			content: '';
		}
		&.is-active {
			border-bottom-color: var(--primary);
			background-color: var(--primary-shadow-active);
			&::after {
				background-color: var(--primary);
			}
		}
	}
	.el-tabs__new-tab {
		margin: 10px;
	}
	.el-button-group {
		display: flex;
		align-items: center;
		flex-shrink: 0;
	}
	.el-button {
		margin-left: 4px;
	}
	.el-tabs__nav-next,
	.el-tabs__nav-prev {
		line-height: 39px;
	}
	.el-dropdown {
		color: inherit;
	}
}

.el-tabs--border-card.custom_top {
	border: none;
	box-shadow: none;
	.el-tabs__new-tab {
		margin: 9px;
		&:hover {
			border-color: var(--primary);
		}
	}
	.el-tabs__content {
		padding: 0;
	}
	.el-tabs__item {
		position: relative;
		font-size: 15px;
		&.is-closable {
			position: relative;
			padding-right: 40px !important;
		}
	}
	.el-icon-close {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		margin-left: 0;
		padding: 3px;
		right: 11px;
		top: 11px;
		&::before {
			display: block;
			line-height: 1;
			font-size: 12px;
		}
	}
}

.is-controls-right {
	.el-input__inner {
		text-align: left;
	}
}

.el-message-box__wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.el-message-box {
	width: 100%;
	max-width: 420px;
}

.el-input__inner[type='number'] {
	-moz-appearance: textfield;
	&::-webkit-outer-spin-button,
	&::-webkit-inner-spin-button {
		-webkit-appearance: none !important;
		margin: 0;
	}
}

.el-input__inner[type='password'] {
	&::-ms-clear,
	&::-ms-reveal,
	&::-webkit-contacts-auto-fill-button {
		display: none !important;
	}
}

.custom_full_loading {
	.el-loading-spinner {
		margin-top: -31px;
		.el-icon-loading {
			font-size: 36px;
			color: #fff;
		}
		.el-loading-text {
			color: #fff;
		}
	}
}

.sw_system_container {
	display: flex;
	flex-direction: column;
	padding: 16px;
	height: 100%;
	box-sizing: border-box;
}

.sw_section_wrapper {
	display: flex;
	flex-direction: column;
	padding: 16px;
	height: 100%;
	box-sizing: border-box;
}

.el-input {
	line-height: 1;
}

.el-form--inline {
	display: flex;
	align-items: center;
	.el-form-item {
		line-height: 1;
		margin-bottom: 0;
		&:last-child {
			margin-right: 0;
		}
	}
	.el-form-item__content {
		line-height: 1;
	}
}

.el-form--label-top {
	.el-form-item__label {
		line-height: 1;
	}
}
.el-message {
	min-width: 300px;
}
.sw_query_form {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	.el-form {
		display: flex;
		align-items: center;
	}
	.el-form-item {
		margin-bottom: 0;
		&:last-child {
			margin-right: 0;
		}
	}
	.el-form-item__content {
		display: flex;
		align-items: center;
	}
	.el-input {
		display: flex;
		align-items: center;
	}
	.button .el-button {
		padding: 9px 12px;
	}
}

.el-form-item__content {
	&:has(span.unit) {
		display: flex;
		align-items: center;
	}
	span.unit {
		flex-shrink: 0;
		margin-left: 10px;
		white-space: nowrap;
	}
}

.sw_table_container {
	flex: 1;
	border: solid 1px #ebeef5;
	border-bottom: none;
	overflow: hidden;
	.el-table {
		width: 100%;
	}
	.el-dropdown {
		margin-left: 10px;
	}
	.el-table__header th {
		color: #303133;
		background-color: var(--primary-background-plain-disabled);
	}
}

.common_tabs_container {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.sw-pagination.page {
	margin-top: 16px;
}

.sw_platform_settings {
	display: flex;
	flex-direction: column;
	flex: 1;
	overflow: hidden;
}

.batch_button {
	.el-button-group {
		float: left;
		padding: 0 10px;
		margin-left: 15px;
		border-radius: 12px;
		background-color: var(--primary-background-hover);
	}
	.el-button {
		padding: 5px;
	}
}

.resource_context_menu {
	padding: 0 !important;
	margin-left: 1px;
	overflow: hidden;
	.menu_item__available {
		line-height: 28px;
		&:hover {
			background: var(--primary-hover);
			color: #fff;
		}
	}
	.menu_item_label {
		white-space: nowrap;
	}
}

.library_tree_wrapper {
	max-height: calc(100vh - 240px);
	overflow: auto;
	.el-tree-node__expand-icon {
		font-size: 18px;
	}
}

.sw_dialog_form {
	flex: 1;
	overflow: hidden;
}

.sw_mult_ellipsis {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	word-break: break-all;
	overflow: hidden;
}

.dialog_form_wrapper {
	flex: 1;
	overflow: hidden;
	padding: 10px 10px 0;
}

.el-date-editor--datetimerange {
	justify-content: space-between;
}
.el-scrollbar__wrap {
	overflow-x: hidden;
}
